package com.IOC.beans;

/**
 * bean注册器接口
 */
public interface BeanDefinitionRegistry extends AliasRegistry{

    /**
     * 注册bean定义
     * @param beanName bean名称
     * @param beanDefinition bean定义对象
     * @throws BeanDefinitionRegistException bean注册异常
     */
    void registerBeanDefinition(String beanName, BeanDefinition beanDefinition) throws BeanDefinitionRegistException;

    /**
     * 获取bean定义
     * @param beanName bean名称
     * @return bean定义对象
     */
    BeanDefinition getBeanDefinition(String beanName);

    /**
     * 判断是否包含bean定义
     * @param beanName bean名称
     * @return 是否包含bean定义对象
     */
    Boolean containsBeanDefinition(String beanName);

}
